﻿using Admin2024.Domain.Entity;
using Admin2024.Domain.ObjValue;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Admin2024.Domain.DomainService.System
{
    public interface IBaseDomainService<T> where T : BaseEntity
    {
        // 删除
        Task<DomainResult<T>> DeleteAsync(Guid id);

        //批量删除
        Task<DomainResult<IEnumerable<T>>> DeleteRangeAsync(IEnumerable<Guid> ids);
        // 启用
        Task<DomainResult<T>> EnableAsync(Guid id);
        // 禁用
        Task<DomainResult<T>> DisableAsync(Guid id);
        // 设置显示顺序
        Task<DomainResult<T>> SetDisplayOrderAsync(Guid id, int orderNumber);
        // 设置备注
        Task<DomainResult<T>> SetRemarksAsync(Guid id, string remarks);
    }
}
